Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: urls don't encode characters #209

Closed
wants to merge 1 commit into from

Conversation

abubakriz
Copy link

@abubakriz abubakriz commented Jul 31, 2024

When a file url has certain symbols like number sign (#), it doesn't encode them, which makes the browser fail to navigate to the file, thinking it is a document section. This commit fixes that by encoding urls using the built-in encodeURIComponent function.

Fixes #205, vercel/serve#726, and vercel/serve#774

When a file url has certain symbols like number sign (#), it doesn't encode them, which makes the browser fail to navigate to the file, thinking it is a document section. This commit fixes that by encoding urls using the built-in encodeURIComponent function.

Fixes vercel#120, vercel#205, vercel/serve#726, and vercel/serve#774
@AndyBitz
Copy link
Contributor

@abubakriz thanks for the PR, but I don't think this would be the right fix.

Calling encodeURIComponent on the entire href, it'd also encode /, which is not desired.

Imagine if the href would be /my-folder/hello#world.txt, calling encodeURIComponent('/my-folder/hello#world.txt') returns %2Fmy-folder%2Fhello%23world.txt.

We most likely want to call encodeURIComponent on each section of the path before we construct the template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Problems with UTF characters
2 participants